package org.rkuk.kasutil.media 
{
	import flash.events.IEventDispatcher;
	
	 /**
	 * 提供操作媒体和获取媒体时间信息的接口
	 * @author rkuk
	 */
	public interface IMediaSource extends IEventDispatcher
	{
		/**
		 * 废除IMediaSource对象，使其使用的资源可以被垃圾回收.
		 * 此操作调用之后IMediaSource对象的属性和方法将不可用。
		 */
		function dispose():void
		
		/**
		 * 操作媒体开始播放.
		 */
		function start(...rest):void
		
		/**
		 * 操作媒体停止播放.
		 */
		function stop():void
		
		/**
		 * 操作媒体在暂停后继续播放.
		 */
		function resume():void
		
		/**
		 * 操作媒体暂停播放.
		 */
		function pause():void
		
		/**
		 * 操作媒体跳转到指定事件开始播放
		 * @param	offset	指定播放的时间，以秒为单位.
		 * 应大于等于0，小于媒体的总时长。
		 */
		function seek(offset:Number):void
		
		/**
		 * 获取媒体当前播放到的时刻。.
		 */
		function get time():Number;
		
		/**
		 * 获取媒体总的播放时长
		 */
		function get duration():Number
	}
}